package com.yusysqdy.gulimail.product;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 *1、整合mybatis-plus
 * 1）、导入依赖
 * 2）、配置
 *    配置数据源、Mybaits-Plus
 * 3）、逻辑删除注解 @TableLogic
 *
 *2、页面修改不重启实时更新
 * 1）、引入devtools
 * 2）、修改完页面重新编译
 *
 *3、整合SpringCache简化缓存开发
 * 1）、引入依赖
 * 2）、写配置 （1）自动配置了哪些 CacheAutoConfiguration会导入RedisCacheConfiguration
 *           （2）配置使用redis作为缓存
 * 3）、测试使用缓存
 *   * 开启缓存注解 @EnableCaching
 *   * 只需要使用注解就能完成缓存
 *
 * 4、Spring-Cache总结
 *     常规数据：读多写少，即时性，一致性要求不高；完全可以使用Spring-Cache
 *     特殊数据：特殊设计
 */

@EnableRedisHttpSession
@EnableCaching
@EnableFeignClients(basePackages = "com.yusysqdy.gulimail.product.feign")
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.yusysqdy.gulimail.product.dao")
public class GulimailProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimailProductApplication.class, args);
    }

}
